home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 185_01 / stest.c < prev    next >
Text File  |  1985-08-19  |  7KB  |  548 lines

  1. #include "stdio.h"
  2.  
  3.  
  4. int array[51];
  5.  
  6.  
  7.  
  8. swap(x,y)
  9. int x,y;
  10. {
  11. int temp;
  12.  
  13.  
  14. if(array[x] > array[y])
  15.     {
  16.     temp=array[y];
  17.  
  18.     array[y]=array[x];
  19.  
  20.     array[x]=temp;
  21.     }
  22. }
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. main()
  31. {
  32. int j;
  33. double drand();
  34.  
  35.  
  36. puts("Experimental BOSE sort test\nGenerating numbers");
  37.  
  38. for(j=1 ; j < 51 ; ++j)
  39.     {
  40.     array[j]=(double)(drand()*500);
  41.  
  42.     printf("%d\t",array[j]);
  43.     }
  44.  
  45. puts("Sorting");
  46.  
  47. swap(2,3);
  48. swap(1,3);
  49. swap(1,2);
  50. swap(5,6);
  51. swap(4,6);
  52. swap(4,5);
  53. swap(1,4);
  54. swap(2,5);
  55. swap(3,6);
  56. swap(3,5);
  57. swap(2,4);
  58. swap(3,4);
  59. swap(8,9);
  60. swap(7,9);
  61. swap(7,8);
  62. swap(11,12);
  63. swap(10,12);
  64. swap(10,11);
  65. swap(7,10);
  66. swap(8,11);
  67. swap(9,12);
  68. swap(9,11);
  69. swap(8,10);
  70. swap(9,10);
  71. swap(1,7);
  72. swap(2,8);
  73. swap(3,9);
  74. swap(3,8);
  75. swap(2,7);
  76. swap(3,7);
  77. swap(4,10);
  78. swap(5,11);
  79. swap(6,12);
  80. swap(6,11);
  81. swap(5,10);
  82. swap(6,10);
  83. swap(4,7);
  84. swap(5,8);
  85. swap(6,9);
  86. swap(6,8);
  87. swap(5,7);
  88. swap(6,7);
  89. swap(14,15);
  90. swap(13,15);
  91. swap(13,14);
  92. swap(17,18);
  93. swap(16,18);
  94. swap(16,17);
  95. swap(13,16);
  96. swap(14,17);
  97. swap(15,18);
  98. swap(15,17);
  99. swap(14,16);
  100. swap(15,16);
  101. swap(20,21);
  102. swap(19,21);
  103. swap(19,20);
  104. swap(22,23);
  105. swap(24,25);
  106. swap(22,24);
  107. swap(23,25);
  108. swap(23,24);
  109. swap(19,23);
  110. swap(19,22);
  111. swap(20,24);
  112. swap(21,25);
  113. swap(21,24);
  114. swap(20,22);
  115. swap(21,23);
  116. swap(21,22);
  117. swap(13,20);
  118. swap(13,19);
  119. swap(14,21);
  120. swap(15,22);
  121. swap(15,21);
  122. swap(14,19);
  123. swap(15,20);
  124. swap(15,19);
  125. swap(16,23);
  126. swap(17,24);
  127. swap(18,25);
  128. swap(18,24);
  129. swap(17,23);
  130. swap(18,23);
  131. swap(16,20);
  132. swap(16,19);
  133. swap(17,21);
  134. swap(18,22);
  135. swap(18,21);
  136. swap(17,19);
  137. swap(18,20);
  138. swap(18,19);
  139. swap(1,14);
  140. swap(1,13);
  141. swap(2,15);
  142. swap(3,16);
  143. swap(3,15);
  144. swap(2,13);
  145. swap(3,14);
  146. swap(3,13);
  147. swap(4,17);
  148. swap(5,18);
  149. swap(6,19);
  150. swap(6,18);
  151. swap(5,17);
  152. swap(6,17);
  153. swap(4,14);
  154. swap(4,13);
  155. swap(5,15);
  156. swap(6,16);
  157. swap(6,15);
  158. swap(5,13);
  159. swap(6,14);
  160. swap(6,13);
  161. swap(7,20);
  162. swap(8,21);
  163. swap(9,22);
  164. swap(9,21);
  165. swap(8,20);
  166. swap(9,20);
  167. swap(10,23);
  168. swap(11,24);
  169. swap(12,25);
  170. swap(12,24);
  171. swap(11,23);
  172. swap(12,23);
  173. swap(10,20);
  174. swap(11,21);
  175. swap(12,22);
  176. swap(12,21);
  177. swap(11,20);
  178. swap(12,20);
  179. swap(7,14);
  180. swap(7,13);
  181. swap(8,15);
  182. swap(9,16);
  183. swap(9,15);
  184. swap(8,13);
  185. swap(9,14);
  186. swap(9,13);
  187. swap(10,17);
  188. swap(11,18);
  189. swap(12,19);
  190. swap(12,18);
  191. swap(11,17);
  192. swap(12,17);
  193. swap(10,14);
  194. swap(10,13);
  195. swap(11,15);
  196. swap(12,16);
  197. swap(12,15);
  198. swap(11,13);
  199. swap(12,14);
  200. swap(12,13);
  201. swap(27,28);
  202. swap(26,28);
  203. swap(26,27);
  204. swap(30,31);
  205. swap(29,31);
  206. swap(29,30);
  207. swap(26,29);
  208. swap(27,30);
  209. swap(28,31);
  210. swap(28,30);
  211. swap(27,29);
  212. swap(28,29);
  213. swap(33,34);
  214. swap(32,34);
  215. swap(32,33);
  216. swap(36,37);
  217. swap(35,37);
  218. swap(35,36);
  219. swap(32,35);
  220. swap(33,36);
  221. swap(34,37);
  222. swap(34,36);
  223. swap(33,35);
  224. swap(34,35);
  225. swap(26,32);
  226. swap(27,33);
  227. swap(28,34);
  228. swap(28,33);
  229. swap(27,32);
  230. swap(28,32);
  231. swap(29,35);
  232. swap(30,36);
  233. swap(31,37);
  234. swap(31,36);
  235. swap(30,35);
  236. swap(31,35);
  237. swap(29,32);
  238. swap(30,33);
  239. swap(31,34);
  240. swap(31,33);
  241. swap(30,32);
  242. swap(31,32);
  243. swap(39,40);
  244. swap(38,40);
  245. swap(38,39);
  246. swap(42,43);
  247. swap(41,43);
  248. swap(41,42);
  249. swap(38,41);
  250. swap(39,42);
  251. swap(40,43);
  252. swap(40,42);
  253. swap(39,41);
  254. swap(40,41);
  255. swap(45,46);
  256. swap(44,46);
  257. swap(44,45);
  258. swap(47,48);
  259. swap(49,50);
  260. swap(47,49);
  261. swap(48,50);
  262. swap(48,49);
  263. swap(44,48);
  264. swap(44,47);
  265. swap(45,49);
  266. swap(46,50);
  267. swap(46,49);
  268. swap(45,47);
  269. swap(46,48);
  270. swap(46,47);
  271. swap(38,45);
  272. swap(38,44);
  273. swap(39,46);
  274. swap(40,47);
  275. swap(40,46);
  276. swap(39,44);
  277. swap(40,45);
  278. swap(40,44);
  279. swap(41,48);
  280. swap(42,49);
  281. swap(43,50);
  282. swap(43,49);
  283. swap(42,48);
  284. swap(43,48);
  285. swap(41,45);
  286. swap(41,44);
  287. swap(42,46);
  288. swap(43,47);
  289. swap(43,46);
  290. swap(42,44);
  291. swap(43,45);
  292. swap(43,44);
  293. swap(26,39);
  294. swap(26,38);
  295. swap(27,40);
  296. swap(28,41);
  297. swap(28,40);
  298. swap(27,38);
  299. swap(28,39);
  300. swap(28,38);
  301. swap(29,42);
  302. swap(30,43);
  303. swap(31,44);
  304. swap(31,43);
  305. swap(30,42);
  306. swap(31,42);
  307. swap(29,39);
  308. swap(29,38);
  309. swap(30,40);
  310. swap(31,41);
  311. swap(31,40);
  312. swap(30,38);
  313. swap(31,39);
  314. swap(31,38);
  315. swap(32,45);
  316. swap(33,46);
  317. swap(34,47);
  318. swap(34,46);
  319. swap(33,45);
  320. swap(34,45);
  321. swap(35,48);
  322. swap(36,49);
  323. swap(37,50);
  324. swap(37,49);
  325. swap(36,48);
  326. swap(37,48);
  327. swap(35,45);
  328. swap(36,46);
  329. swap(37,47);
  330. swap(37,46);
  331. swap(36,45);
  332. swap(37,45);
  333. swap(32,39);
  334. swap(32,38);
  335. swap(33,40);
  336. swap(34,41);
  337. swap(34,40);
  338. swap(33,38);
  339. swap(34,39);
  340. swap(34,38);
  341. swap(35,42);
  342. swap(36,43);
  343. swap(37,44);
  344. swap(37,43);
  345. swap(36,42);
  346. swap(37,42);
  347. swap(35,39);
  348. swap(35,38);
  349. swap(36,40);
  350. swap(37,41);
  351. swap(37,40);
  352. swap(36,38);
  353. swap(37,39);
  354. swap(37,38);
  355. swap(1,26);
  356. swap(2,27);
  357. swap(3,28);
  358. swap(3,27);
  359. swap(2,26);
  360. swap(3,26);
  361. swap(4,29);
  362. swap(5,30);
  363. swap(6,31);
  364. swap(6,30);
  365. swap(5,29);
  366. swap(6,29);
  367. swap(4,26);
  368. swap(5,27);
  369. swap(6,28);
  370. swap(6,27);
  371. swap(5,26);
  372. swap(6,26);
  373. swap(7,32);
  374. swap(8,33);
  375. swap(9,34);
  376. swap(9,33);
  377. swap(8,32);
  378. swap(9,32);
  379. swap(10,35);
  380. swap(11,36);
  381. swap(12,37);
  382. swap(12,36);
  383. swap(11,35);
  384. swap(12,35);
  385. swap(10,32);
  386. swap(11,33);
  387. swap(12,34);
  388. swap(12,33);
  389. swap(11,32);
  390. swap(12,32);
  391. swap(7,26);
  392. swap(8,27);
  393. swap(9,28);
  394. swap(9,27);
  395. swap(8,26);
  396. swap(9,26);
  397. swap(10,29);
  398. swap(11,30);
  399. swap(12,31);
  400. swap(12,30);
  401. swap(11,29);
  402. swap(12,29);
  403. swap(10,26);
  404. swap(11,27);
  405. swap(12,28);
  406. swap(12,27);
  407. swap(11,26);
  408. swap(12,26);
  409. swap(13,38);
  410. swap(14,39);
  411. swap(15,40);
  412. swap(15,39);
  413. swap(14,38);
  414. swap(15,38);
  415. swap(16,41);
  416. swap(17,42);
  417. swap(18,43);
  418. swap(18,42);
  419. swap(17,41);
  420. swap(18,41);
  421. swap(16,38);
  422. swap(17,39);
  423. swap(18,40);
  424. swap(18,39);
  425. swap(17,38);
  426. swap(18,38);
  427. swap(19,44);
  428. swap(20,45);
  429. swap(21,46);
  430. swap(21,45);
  431. swap(20,44);
  432. swap(21,44);
  433. swap(22,47);
  434. swap(23,48);
  435. swap(23,47);
  436. swap(24,49);
  437. swap(25,50);
  438. swap(25,49);
  439. swap(24,47);
  440. swap(25,48);
  441. swap(25,47);
  442. swap(22,44);
  443. swap(23,45);
  444. swap(23,44);
  445. swap(24,46);
  446. swap(25,46);
  447. swap(24,44);
  448. swap(25,45);
  449. swap(25,44);
  450. swap(19,38);
  451. swap(20,39);
  452. swap(21,40);
  453. swap(21,39);
  454. swap(20,38);
  455. swap(21,38);
  456. swap(22,41);
  457. swap(23,42);
  458. swap(23,41);
  459. swap(24,43);
  460. swap(25,43);
  461. swap(24,41);
  462. swap(25,42);
  463. swap(25,41);
  464. swap(22,38);
  465. swap(23,39);
  466. swap(23,38);
  467. swap(24,40);
  468. swap(25,40);
  469. swap(24,38);
  470. swap(25,39);
  471. swap(25,38);
  472. swap(13,26);
  473. swap(14,27);
  474. swap(15,28);
  475. swap(15,27);
  476. swap(14,26);
  477. swap(15,26);
  478. swap(16,29);
  479. swap(17,30);
  480. swap(18,31);
  481. swap(18,30);
  482. swap(17,29);
  483. swap(18,29);
  484. swap(16,26);
  485. swap(17,27);
  486. swap(18,28);
  487. swap(18,27);
  488. swap(17,26);
  489. swap(18,26);
  490. swap(19,32);
  491. swap(20,33);
  492. swap(21,34);
  493. swap(21,33);
  494. swap(20,32);
  495. swap(21,32);
  496. swap(22,35);
  497. swap(23,36);
  498. swap(23,35);
  499. swap(24,37);
  500. swap(25,37);
  501. swap(24,35);
  502. swap(25,36);
  503. swap(25,35);
  504. swap(22,32);
  505. swap(23,33);
  506. swap(23,32);
  507. swap(24,34);
  508. swap(25,34);
  509. swap(24,32);
  510. swap(25,33);
  511. swap(25,32);
  512. swap(19,26);
  513. swap(20,27);
  514. swap(21,28);
  515. swap(21,27);
  516. swap(20,26);
  517. swap(21,26);
  518. swap(22,29);
  519. swap(23,30);
  520. swap(23,29);
  521. swap(24,31);
  522. swap(25,31);
  523. swap(24,29);
  524. swap(25,30);
  525. swap(25,29);
  526. swap(22,26);
  527. swap(23,27);
  528. swap(23,26);
  529. swap(24,28);
  530. swap(25,28);
  531. swap(24,26);
  532. swap(25,27);
  533. swap(25,26);
  534.  
  535. puts("Done");
  536.  
  537. for(j=1 ; j < 51 ; ++j)
  538.     printf("%d\t",array[j]);
  539. }7);
  540. swap(9,28);
  541. swap(9,27);
  542. swap(8,26);
  543. swap(9,26);
  544. swap(10,29);
  545. swap(11,30);
  546. swap(12,31);
  547. swap(12,30);
  548. swap(11,29);